//
//  main.m
//  08-类的扩展
//
//  Created by dllo on 16/7/13.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NSObject+SayHello.h"
#import "NSString+GetFirstCharacter.h"
#import "NSString+GetFirstChar.h"
#import "Student.h"
#import "BuyPerson.h"
int main(int argc, const char * argv[]) {
   
   // 类的扩展的方式
   // 1.category （类别，类目，分类）
   // 1> Category的创建
   // 通过Object——C File 创建会生成两个文件 .h .m
    // 文件名会以 类名＋Category名

    //2.> Category的使用
   // 向对应文件中添加需要添加方法 引入到你对应要使用的的位置
    
    NSObject *objc = [[NSObject alloc] init];
    [objc sayHello];
    
    NSString *string = @"hello";
    NSLog(@"%@",[string getFirstCharacter]);
    
    NSString *str = @"sadsfsdf";
    NSString *firstChar = [str getFirstChar];
    NSLog(@"%@", firstChar);
    
//  2.  Extension
  // 延展，一般定义在.m中，其中声明一些私有的属性／方法
  // 保持.h的整洁
    
    
    
//  3.delegate设计模式
//    举例：海外代购
//    委托方
    Student *stu = [[Student alloc] init];
//    代购
    BuyPerson *buyPerson = [[BuyPerson alloc] init];
//    6.设定代理人
    stu.delegate = buyPerson;
    [stu seeWeChat];
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    return 0;
}
